package com.util;

import cn.hutool.core.collection.ListUtil;
import com.entity.TeacherTable;

import java.util.ArrayList;
import java.util.List;

/**
 * @author CHL
 * @ClassName: ColltionUtils
 * @Description: 集合工具类
 * @date 2024/10/24 15:42
 * @Version 1.0
 */
public class ColltionUtils {


    // 利用hutool工具 把集合切分成1000个为一组
    List<List<TeacherTable>> partition = ListUtil.partition(new ArrayList<>(), 1000);

    /**
     * 按指定大小，分隔集合，将集合按规定个数分为n个部分
     *
     * @param list 数据集合
     * @param len  分割长度
     * @return 分割集合数据
     */
    public static <T> List<List<T>> splitList(List<T> list, int len) {
        List<List<T>> result = new ArrayList<>();
        try {
            if (list == null || list.size() == 0 || len < 1) {
                return result;
            }
            int size = list.size();
            int count = (size + len - 1) / len;
            for (int i = 0; i < count; i++) {
                List<T> subList = list.subList(i * len, (Math.min((i + 1) * len, size)));
                result.add(subList);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return result;
    }

}
